﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls.UI;
using System.Data.SqlServerCe;
using System.Data.SqlClient;
using System.IO;
using System.Configuration;
//using sharpPDF;


namespace CRM_WF
{
    public partial class CRM : Form
    {
        WebServices ServiceWeb;
        Notation notation;

        int CurrentEleveID;
        int CurrentFormateurID;
        int CurrentUserID;

        #region prog
        public CRM(int type_Utilisateur)
        {
            ServiceWeb = new WebServices();
            notation = new Notation();

            InitializeComponent();

            CurrentEleveID = 0; CurrentFormateurID = 0; CurrentUserID = 0;
            GestionAdministration.Visible = false;
            GestionAgence.Visible = false;
            GestionMoniteur.Visible = false;

        }

        private void verifUtilisateur(int typeUser)
        {
            switch (typeUser)
            {
                case 4:  //Type superAdmin
                    MainTabAdministration.Enabled = true;
                    MainTabAgence.Enabled = true;
                    MainTabMoniteur.Enabled = true;
                    MainTabAdministration_Click(null, null);
                    break;
                case 2:  //Type Administration
                    MainTabAdministration.Enabled = true;
                    MainTabAgence.Enabled = false;
                    MainTabMoniteur.Enabled = false;
                    MainTabAdministration_Click(null, null);
                    break;
                case 3: // Type Agence
                    MainTabAdministration.Enabled = false;
                    MainTabAgence.Enabled = true;
                    MainTabMoniteur.Enabled = false;
                    MainTabAgence_Click(null, null);
                    break;
                case 1: //Type Moniteur                   
                    MainTabAdministration.Enabled = false;
                    MainTabAgence.Enabled = false;
                    MainTabMoniteur.Enabled = true;
                    MainTabMoniteur_Click(null, null);
                    break;
                default://Default
                    MainTabAdministration.Enabled = false;
                    MainTabAgence.Enabled = false;
                    MainTabMoniteur.Enabled = false;
                    break;
            }
        }


        /**************************************************************************************************
         *   Commentaire : Florian Cavallo
         *   Groupe de methodes : Onglets de type d'utilisateur
         **************************************************************************************************/

        private void MainTabAdministration_Click(object sender, EventArgs e)
        {
            GestionAgence.Visible = false;
            GestionMoniteur.Visible = false;
            GestionAdministration.Visible = true;
            TabCategorieGestion_Click(null, null); //Catégorie par défaut
        }

        private void MainTabMoniteur_Click(object sender, EventArgs e)
        {
            GestionAgence.Visible = false;
            GestionMoniteur.Visible = true;
            GestionAdministration.Visible = false;
            GroupBoxNotationContenu_Click(null, null);
        }

        private void MainTabAgence_Click(object sender, EventArgs e)
        {
            GestionAgence.Visible = true;
            GestionMoniteur.Visible = false;
            GestionAdministration.Visible = false;
            TabCategorieEleves_Click(null, null); //Catégorie par défaut
        }

        /**************************************************************************************************
       *   Commentaire : Florian Cavallo
       *   Groupe de methodes : Categorie (Contenu dans le ribbon bar)
       *   Utilisateur : Administration
       **************************************************************************************************/

        private void TabCategorieGestion_Click(object sender, EventArgs e)
        {
            //Gestion du splitPanel 1 (Le menu de la gauche)

            GroupBoxDisponibilitee.Visible = true;
            GroupBoxPlanning.Visible = false;
            GroupBoxRequete.Visible = false;
            GroupBoxSession.Visible = false;
            GroupBoxFormateur.Visible = false;

            //Gestion du splitPanel 2 (le contenu)
            MenuGererDispoFormateurs_MouseClick(null, null);
        }

        private void TabCategorieSessions_Click(object sender, EventArgs e)
        {
            //Gestion du splitPanel 1 (Le menu de la gauche)

            GroupBoxDisponibilitee.Visible = false;
            GroupBoxPlanning.Visible = false;
            GroupBoxRequete.Visible = false;
            GroupBoxSession.Visible = true;
            GroupBoxFormateur.Visible = false;

            //Gestion du splitPanel 2 (le contenu)
            MenuGererSession_Consulter_MouseClick(null, null);
        }

        private void TabCaterogiePlanning_Click(object sender, EventArgs e)
        {
            //Gestion du splitPanel 1 (Le menu de la gauche)

            GroupBoxDisponibilitee.Visible = false;
            GroupBoxPlanning.Visible = true;
            GroupBoxRequete.Visible = false;
            GroupBoxSession.Visible = false;
            GroupBoxFormateur.Visible = false;

            //Gestion du splitPanel 2 (le contenu)
            MenuGererPlanning_Consulter_MouseClick(null, null);
        }

        private void TabCategorieRequetes_Click(object sender, EventArgs e)
        {
            //Gestion du splitPanel 1 (Le menu de la gauche)

            GroupBoxDisponibilitee.Visible = false;
            GroupBoxPlanning.Visible = false;
            GroupBoxRequete.Visible = true;
            GroupBoxSession.Visible = false;
            GroupBoxFormateur.Visible = false;

            //Gestion du splitPanel 2 (le contenu)
            MenuConsulterRequeteResume_MouseClick(null, null);
        }

        private void TabCategorieFormateur_Click(object sender, EventArgs e)
        {
            //Gestion du splitPanel 1 (Le menu de la gauche)

            GroupBoxDisponibilitee.Visible = false;
            GroupBoxPlanning.Visible = false;
            GroupBoxRequete.Visible = false;
            GroupBoxSession.Visible = false;
            GroupBoxFormateur.Visible = true;

            //Gestion du splitPanel 2 (le contenu)
            MenuFormateurConsulter_MouseClick(null, null);
        }
        /**************************************************************************************************
         *   Commentaire : Florian Cavallo
         *   Groupe de methodes : Gestion des Sous-Menus
         **************************************************************************************************/

        private void MenuRequete_SelectedPageChanged(object sender, EventArgs e)
        {
            switch (this.MenuRequete.Pages.IndexOf(this.MenuRequete.SelectedPage))
            {
                case 0: MenuConsulterRequeteEleve_MouseClick(null, null);
                    break;

                case 1: MenuConsulterRequeteFormateur_MouseClick(null, null);
                    break;

                case 2: MenuConsulterRequeteResume_MouseClick(null, null);
                    break;
            }
        }

        private void MenuSession_SelectedPageChanged(object sender, EventArgs e)
        {
            switch (this.MenuSession.Pages.IndexOf(this.MenuSession.SelectedPage))
            {
                case 0: MenuGererSession_Consulter_MouseClick(null, null);
                    break;

                case 1: MenuGererSession_Ajouter_MouseClick(null, null);
                    break;

                case 2: MenuGererSession_Modifier_MouseClick(null, null);
                    break;
            }
        }

        private void MenuAdministration_SelectedPageChanged(object sender, EventArgs e)
        {
            switch (this.MenuAdministration.Pages.IndexOf(this.MenuAdministration.SelectedPage))
            {
                case 0: MenuGererPlanning_Consulter_MouseClick(null, null);
                    break;

                case 1: MenuGererPlanning_Ajouter_MouseClick(null, null);
                    break;

                case 2: MenuGererPlanning_Modifier_MouseClick(null, null);
                    break;
            }
        }

        private void MenuDisponibilite_SelectedPageChanged(object sender, EventArgs e)
        {
            switch (this.MenuDisponibilite.Pages.IndexOf(this.MenuDisponibilite.SelectedPage))
            {
                case 0: MenuGererDispoFormateurs_MouseClick(null, null);
                    break;

                case 1: MenuGererDispoIntervenants_MouseClick(null, null);
                    break;

                case 2: MenuGererDispoVehicules_MouseClick(null, null);
                    break;

                case 3: MenuGererDispoLieux_MouseClick(null, null);
                    break;
            }
        }

        private void MenuFormateur_SelectedPageChanged(object sender, EventArgs e)
        {
            switch (this.MenuFormateur.Pages.IndexOf(this.MenuFormateur.SelectedPage))
            {
                case 0: MenuFormateurConsulter_MouseClick(null, null);
                    break;

                case 1: MenuFormateurAjouter_MouseClick(null, null);
                    break;

                case 2: MenuFormateurModifier_MouseClick(null, null);
                    break;
            }
        }

        /**************************************************************************************************
         *   Commentaire : Florian Cavallo
         *   Groupe de methodes : Sous-Menus (Menu de gauche)
         *   Utilisateur : Administration
         *   Catégorie : Gestion disponibilités
         **************************************************************************************************/

        private void MenuGererDispoFormateurs_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = true;
            GroupBoxSessionContenu.Visible = false;
            GroupBoxPlanningContenu.Visible = false;
            GroupBoxRequeteContenu.Visible = false;

            //Et on affiche le contenu souhaité
            GroupBoxDispoFormateurs.Visible = true;
            GroupBoxDispoIntervenants.Visible = false;
            GroupBoxDispoLieux.Visible = false;
            GroupBoxDispoVehicules.Visible = false;


        }

        private void MenuGererDispoIntervenants_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = true;
            GroupBoxSessionContenu.Visible = false;
            GroupBoxPlanningContenu.Visible = false;
            GroupBoxRequeteContenu.Visible = false;

            //Et on affiche le contenu souhaité
            GroupBoxDispoFormateurs.Visible = false;
            GroupBoxDispoIntervenants.Visible = true;
            GroupBoxDispoLieux.Visible = false;
            GroupBoxDispoVehicules.Visible = false;
        }

        private void MenuGererDispoLieux_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = true;
            GroupBoxSessionContenu.Visible = false;
            GroupBoxPlanningContenu.Visible = false;
            GroupBoxRequeteContenu.Visible = false;

            //Et on affiche le contenu souhaité
            GroupBoxDispoFormateurs.Visible = false;
            GroupBoxDispoIntervenants.Visible = false;
            GroupBoxDispoLieux.Visible = true;
            GroupBoxDispoVehicules.Visible = false;
        }

        private void MenuGererDispoVehicules_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = true;
            GroupBoxSessionContenu.Visible = false;
            GroupBoxPlanningContenu.Visible = false;
            GroupBoxRequeteContenu.Visible = false;

            //Et on affiche le contenu souhaité
            GroupBoxDispoFormateurs.Visible = false;
            GroupBoxDispoIntervenants.Visible = false;
            GroupBoxDispoLieux.Visible = false;
            GroupBoxDispoVehicules.Visible = true;
        }

        /**************************************************************************************************
      *   Commentaire : Florian Cavallo
      *   Groupe de methodes : Sous-Menus (Menu de gauche)
      *   Utilisateur : Administration
      *   Catégorie : Gestion de Sessions
      **************************************************************************************************/

        private void MenuGererSession_Consulter_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = false;
            GroupBoxSessionContenu.Visible = true;
            GroupBoxPlanningContenu.Visible = false;
            GroupBoxRequeteContenu.Visible = false;
            GroupBoxFormateurContenu.Visible = false;

            //Et on affiche le contenu souhaité
            GroupBoxSessionConsulter.Visible = true;
            GroupBoxSessionAjouter.Visible = false;
            GroupBoxSessionModifier.Visible = false;
        }

        private void MenuGererSession_Ajouter_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = false;
            GroupBoxSessionContenu.Visible = true;
            GroupBoxPlanningContenu.Visible = false;
            GroupBoxRequeteContenu.Visible = false;
            GroupBoxFormateurContenu.Visible = false;

            //Et on affiche le contenu souhaité
            GroupBoxSessionConsulter.Visible = false;
            GroupBoxSessionAjouter.Visible = true;
            GroupBoxSessionModifier.Visible = false;
        }

        private void MenuGererSession_Modifier_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = false;
            GroupBoxSessionContenu.Visible = true;
            GroupBoxPlanningContenu.Visible = false;
            GroupBoxRequeteContenu.Visible = false;
            GroupBoxFormateurContenu.Visible = false;

            //Et on affiche le contenu souhaité
            GroupBoxSessionConsulter.Visible = false;
            GroupBoxSessionAjouter.Visible = false;
            GroupBoxSessionModifier.Visible = true;
        }

        /**************************************************************************************************
      *   Commentaire : Florian Cavallo
      *   Groupe de methodes : Sous-Menus (Menu de gauche)
      *   Utilisateur : Administration
      *   Catégorie : Gestion de Planning
      **************************************************************************************************/

        private void MenuGererPlanning_Consulter_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = false;
            GroupBoxSessionContenu.Visible = false;
            GroupBoxPlanningContenu.Visible = true;
            GroupBoxRequeteContenu.Visible = false;
            GroupBoxFormateurContenu.Visible = false;

            //Et on affiche le contenu souhaité
            GroupBoxPlanningConsulter.Visible = true;
            GroupBoxPlanningAjouter.Visible = false;
            GroupBoxPlanningModifier.Visible = false;
        }

        private void MenuGererPlanning_Ajouter_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = false;
            GroupBoxSessionContenu.Visible = false;
            GroupBoxPlanningContenu.Visible = true;
            GroupBoxRequeteContenu.Visible = false;
            GroupBoxFormateurContenu.Visible = false;

            //Et on affiche le contenu souhaité
            GroupBoxPlanningConsulter.Visible = false;
            GroupBoxPlanningAjouter.Visible = true;
            GroupBoxPlanningModifier.Visible = false;
        }

        private void MenuGererPlanning_Modifier_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = false;
            GroupBoxSessionContenu.Visible = false;
            GroupBoxPlanningContenu.Visible = true;
            GroupBoxRequeteContenu.Visible = false;
            GroupBoxFormateurContenu.Visible = false;

            //Et on affiche le contenu souhaité
            GroupBoxPlanningConsulter.Visible = false;
            GroupBoxPlanningAjouter.Visible = false;
            GroupBoxPlanningModifier.Visible = true;
        }

        /**************************************************************************************************
         *   Commentaire : Florian Cavallo
         *   Groupe de methodes : Sous-Menus (Menu de gauche)
         *   Utilisateur : Administration
         *   Catégorie : Gestion de Requete
         **************************************************************************************************/

        private void MenuConsulterRequeteEleve_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = false;
            GroupBoxSessionContenu.Visible = false;
            GroupBoxPlanningContenu.Visible = false;
            GroupBoxRequeteContenu.Visible = true;
            GroupBoxFormateurContenu.Visible = false;

            //Et on affiche le contenu souhaité
            GroupBoxRequeteEleve.Visible = true;
            GroupBoxRequeteFormateur.Visible = false;
            GroupBoxRequeteResume.Visible = false;
        }

        private void MenuConsulterRequeteFormateur_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = false;
            GroupBoxSessionContenu.Visible = false;
            GroupBoxPlanningContenu.Visible = false;
            GroupBoxRequeteContenu.Visible = true;
            GroupBoxFormateurContenu.Visible = false;

            //Et on affiche le contenu souhaité
            GroupBoxRequeteEleve.Visible = false;
            GroupBoxRequeteFormateur.Visible = true;
            GroupBoxRequeteResume.Visible = false;
        }

        private void MenuConsulterRequeteResume_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = false;
            GroupBoxSessionContenu.Visible = false;
            GroupBoxPlanningContenu.Visible = false;
            GroupBoxRequeteContenu.Visible = true;
            GroupBoxFormateurContenu.Visible = false;

            //Et on affiche le contenu souhaité
            GroupBoxRequeteEleve.Visible = false;
            GroupBoxRequeteFormateur.Visible = false;
            GroupBoxRequeteResume.Visible = true;
        }

        /**************************************************************************************************
         *   Commentaire : Florian Cavallo
         *   Groupe de methodes : Sous-Menus (Menu de gauche)
         *   Utilisateur : Administration
         *   Catégorie : Gestion ds Formateurs
         **************************************************************************************************/
        private void MenuFormateurModifier_MouseClick(object sender, MouseEventArgs e)
        {

            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = false;
            GroupBoxSessionContenu.Visible = false;
            GroupBoxPlanningContenu.Visible = false;
            GroupBoxRequeteContenu.Visible = false;
            GroupBoxFormateurContenu.Visible = true;

            //Et on affiche le contenu souhaité
            GroupBoxFormateurModifier.Visible = true;
            GroupBoxFormateurAjouter.Visible = false;
            GroupBoxFormateurConsulter.Visible = false;
        }

        private void MenuFormateurAjouter_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = false;
            GroupBoxSessionContenu.Visible = false;
            GroupBoxPlanningContenu.Visible = false;
            GroupBoxRequeteContenu.Visible = false;
            GroupBoxFormateurContenu.Visible = true;

            //Et on affiche le contenu souhaité
            GroupBoxFormateurModifier.Visible = false;
            GroupBoxFormateurAjouter.Visible = true;
            GroupBoxFormateurConsulter.Visible = false;
        }

        private void MenuFormateurConsulter_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tout les types de contenu sauf celui qui nous interesse
            GroupBoxDispoContenu.Visible = false;
            GroupBoxSessionContenu.Visible = false;
            GroupBoxPlanningContenu.Visible = false;
            GroupBoxRequeteContenu.Visible = false;
            GroupBoxFormateurContenu.Visible = true;

            //Et on affiche le contenu souhaité
            GroupBoxFormateurModifier.Visible = false;
            GroupBoxFormateurAjouter.Visible = false;
            GroupBoxFormateurConsulter.Visible = true;
        }


        /**************************************************************************************************
        *   Commentaire : Jeremy Chu
        *   Groupe de methodes : Categorie (Contenu dans le ribbon bar)  
        *   Utilisateur : Agence
        **************************************************************************************************/

        private void TabCategorieEleves_Click(object sender, EventArgs e)
        {
            //Gestion du splitPanel 3 (Le menu de la gauche)

            GroupBox_Eleve.Visible = true;
            GroupBox_Examen.Visible = false;

            //Gestion du splitPanel 4 (le contenu)
            MenuModifierEleve_MouseClick(null, null);
        }

        private void TabCategorieExamens_Click(object sender, EventArgs e)
        {
            //Gestion du splitPanel 3 (Le menu de la gauche)

            GroupBox_Eleve.Visible = false;
            GroupBox_Examen.Visible = true;

            //Gestion du splitPanel 4 (le contenu)
            MenuGestionScoresExamen_MouseClick(null, null);
        }

        /**************************************************************************************************
        *   Commentaire : Jérémy Chu
        *   Groupe de methodes : Gestion des Sous-Menus
        **************************************************************************************************/

        private void MenuEleve_SelectedPageChanged(object sender, EventArgs e)
        {
            switch (this.Menu_Eleve.Pages.IndexOf(this.Menu_Eleve.SelectedPage))
            {
                case 0: MenuConsulterFicheEleve_MouseClick(null, null);
                    break;

                case 1: MenuAjouterEleve_MouseClick(null, null);
                    break;

                case 2: MenuImporterCompteEleve_MouseClick(null, null);
                    break;

                case 3: MenuModifierEleve_MouseClick(null, null);
                    break;
            }
        }

        private void MenuExamen_SelectedPageChanged(object sender, EventArgs e)
        {
            switch (this.Menu_Examen.Pages.IndexOf(this.Menu_Examen.SelectedPage))
            {
                case 0: MenuInscriptionExamen_MouseClick(null, null);
                    break;

                case 1: MenuGestionScoresExamen_MouseClick(null, null);
                    break;

            }
        }

        /**************************************************************************************************
         *   Commentaire : Jeremy Chu
         *   Groupe de methodes : Sous-Menus (Menu de gauche)
         *   Utilisateur : Agence
         *   Catégorie : Gestion élèves
         **************************************************************************************************/

        private void MenuConsulterFicheEleve_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tous les tous les types de contenus sauf celui qui nous interesse
            GroupBox_ExamenContenu.Visible = false;
            GroupBox_EleveContenu.Visible = true;

            //On affiche le contenu souhaité
            GroupBox_EleveAjouter.Visible = false;
            GroupBox_EleveConsulterFiche.Visible = true;
            GroupBox_EleveImporter.Visible = false;
            GroupBox_EleveModifier.Visible = false;

        }

        private void MenuAjouterEleve_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tous les tous les types de contenus sauf celui qui nous interesse
            GroupBox_ExamenContenu.Visible = false;
            GroupBox_EleveContenu.Visible = true;

            //On affiche le contenu souhaité
            GroupBox_EleveAjouter.Visible = true;
            GroupBox_EleveConsulterFiche.Visible = false;
            GroupBox_EleveImporter.Visible = false;
            GroupBox_EleveModifier.Visible = false;

        }

        private void MenuModifierEleve_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tous les tous les types de contenus sauf celui qui nous interesse
            GroupBox_ExamenContenu.Visible = false;
            GroupBox_EleveContenu.Visible = true;

            //On affiche le contenu souhaité
            GroupBox_EleveAjouter.Visible = false;
            GroupBox_EleveConsulterFiche.Visible = false;
            GroupBox_EleveImporter.Visible = false;
            GroupBox_EleveModifier.Visible = true;

        }

        private void MenuImporterCompteEleve_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tous les tous les types de contenus sauf celui qui nous interesse
            GroupBox_ExamenContenu.Visible = false;
            GroupBox_EleveContenu.Visible = true;

            //On affiche le contenu souhaité
            GroupBox_EleveAjouter.Visible = false;
            GroupBox_EleveConsulterFiche.Visible = false;
            GroupBox_EleveImporter.Visible = true;
            GroupBox_EleveModifier.Visible = false;

        }

        /**************************************************************************************************
         *   Commentaire : Jeremy Chu
         *   Groupe de methodes : Sous-Menus (Menu de gauche)
         *   Utilisateur : Agence
         *   Catégorie : Gestion examens
         **************************************************************************************************/

        private void MenuInscriptionExamen_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tous les tous les types de contenus sauf celui qui nous interesse
            GroupBox_ExamenContenu.Visible = true;
            GroupBox_EleveContenu.Visible = false;

            //On affiche le contenu souhaité
            GroupBox_ExamenInscription.Visible = true;
            GroupBox_ExamenGestionScore.Visible = false;

        }

        private void MenuGestionScoresExamen_MouseClick(object sender, MouseEventArgs e)
        {
            //On cache tous les tous les types de contenus sauf celui qui nous interesse
            GroupBox_ExamenContenu.Visible = true;
            GroupBox_EleveContenu.Visible = false;

            //On affiche le contenu souhaité
            GroupBox_ExamenInscription.Visible = false;
            GroupBox_ExamenGestionScore.Visible = true;

        }

        /**************************************************************************************************
         *   Commentaire : Florian Cavallo
         *   Groupe de methodes : Categorie (Contenu dans le ribbon bar)        
         *   Utilisateur : Moniteur
         **************************************************************************************************/
        private void GroupBoxNotationContenu_Click(object sender, EventArgs e)
        {
            //Gestion du splitPanel  (Le menu de la gauche)
            GroupBoxNotationContenu.Visible = true;
            //Gestion du splitPanel  (le contenu)
            MenuNotationEleve_Click(null, null);
        }

        /**************************************************************************************************
       *   Commentaire : Florian Cavallo
       *   Groupe de methodes : Gestion des Sous-Menus
       **************************************************************************************************/

        private void MenuNotation_SelectedPageChanged(object sender, EventArgs e)
        {
            switch (this.MenuNotation.Pages.IndexOf(this.MenuNotation.SelectedPage))
            {
                // case 0: MenuRechercheEleve_Click(null, null);
                //   break;

                case 0: MenuNotationEleve_Click(null, null);
                    break;

            }
        }

        /**************************************************************************************************
        *   Commentaire : Florian Cavallo
        *   Groupe de methodes : Sous-Menus (Menu de gauche)
        *   Utilisateur : Moniteur
        *   Catégorie : Notation
        **************************************************************************************************/

        private void MenuRechercheEleve_Click(object sender, EventArgs e)
        {
            //On cache tous les tous les types de contenus sauf celui qui nous interesse
            GroupBoxRechercheEleveContenu.Visible = true;
            GroupBoxNotationContenu.Visible = false;

        }

        private void MenuNotationEleve_Click(object sender, EventArgs e)
        {
            //On cache tous les tous les types de contenus sauf celui qui nous interesse
            GroupBoxRechercheEleveContenu.Visible = false;
            GroupBoxNotationContenu.Visible = true;
        }

        private void Menu_EleveConsulterFiche_Paint(object sender, PaintEventArgs e)
        {

        }

        private void RB_NotationSuiv_Click(object sender, EventArgs e)
        {
            // PageView.SelectedPage = PageView.Pages.;
        }

        private void radLabel115_Click(object sender, EventArgs e)
        {
            if (radGroupBox32.Visible == true)
            {
                radGroupBox32.Visible = false;
            }
            else
            {
                radGroupBox32.Visible = true;
            }
        }

        private void radButton19_Click(object sender, EventArgs e)
        {
            if (radGroupBox32.Visible == true)
            {
                radGroupBox32.Visible = false;
            }
            else
            {
                radGroupBox32.Visible = true;
            }
        }
        #endregion

        #region Utilisation des web services
        /**************************************************************************************************
        *   Commentaire : Florian Cavallo
        *   Groupe de methodes : Gestion des DropDownList (listes déroulantes)
        **************************************************************************************************/
        private void radDropDownList1_Click(object sender, EventArgs e)
        {
            radDropDownList1.Items.Clear();
            foreach (string item in ServiceWeb.RecupererToutLesEleves())
            {
                radDropDownList1.Items.Add(item);
            }

        }


        private void radDateTimePicker2_ValueChanged(object sender, EventArgs e)
        {
            radListControl1.Items.Clear();
            foreach (string item in ServiceWeb.ListeEleveDeLaJournee(radDateTimePicker2.Value.ToString()))
            {
                radListControl1.Items.Add(item);
            }

        }


        private void RB_Recherche_Click(object sender, EventArgs e)
        {
            List<string> resultatRecherche = new List<string>();
            if (!String.IsNullOrEmpty(RTB_NomRecherche.Text) && !String.IsNullOrEmpty(RTB_RecherchePrenom.Text))
            {
                resultatRecherche = ServiceWeb.RecupererEleveParPrenomEtNom(RTB_RecherchePrenom.Text, RTB_RecherchePrenom.Text);// Appel methode de recherche par nom et par prénom
            }
            else if (!String.IsNullOrEmpty(RTB_NomRecherche.Text) && String.IsNullOrEmpty(RTB_RecherchePrenom.Text))
            {
                resultatRecherche = ServiceWeb.RecupererEleveParNom(RTB_NomRecherche.Text);// Appel methode de recherche par nom 

            }
            else if (String.IsNullOrEmpty(RTB_NomRecherche.Text) && !String.IsNullOrEmpty(RTB_RecherchePrenom.Text))
            {
                resultatRecherche = ServiceWeb.RecupererEleveParNom(RTB_RecherchePrenom.Text);// Appel methode de recherche par prénom
            }
            else if (String.IsNullOrEmpty(RTB_NomRecherche.Text) && String.IsNullOrEmpty(RTB_RecherchePrenom.Text))
            {
                return;
            }


            foreach (string result in resultatRecherche)
            {
                RLC_resultatRecherche.Items.Add(result);
            }

        }
        #endregion

        private void radDropDownList8_Click(object sender, EventArgs e)
        {
            radDropDownList8.Items.Clear();
            foreach (string item in ServiceWeb.RecupererToutLesEleves())
            {
                radDropDownList8.Items.Add(item);
            }
        }

        private void RDD_ListePermis_Click(object sender, EventArgs e)
        {
            RDD_ListePermis.Items.Clear();
            foreach (string item in ServiceWeb.recupererTypesPermis())
            {
                RDD_ListePermis.Items.Add(item);
            }
        }

        private void RDD_ListePermis_SelectedIndexChanging(object sender, Telerik.WinControls.UI.Data.PositionChangingCancelEventArgs e)
        {
            switch (RDD_ListePermis.SelectedItem.Value.ToString())
            {
                case "PermisA":
                    GB_NotationPermisA.Visible = true;
                    GB_NotationPermisB.Visible = false;
                    GB_NotationPermisEB.Visible = false;
                    break;
                case "PermisB":
                    GB_NotationPermisA.Visible = false;
                    GB_NotationPermisB.Visible = true;
                    GB_NotationPermisEB.Visible = false;
                    break;
                case "PermisEB":
                    GB_NotationPermisA.Visible = false;
                    GB_NotationPermisB.Visible = false;
                    GB_NotationPermisEB.Visible = true;
                    break;
            }
        }

        private void RB_ValiderNotation_Click(object sender, EventArgs e)
        {

            List<List<Telerik.WinControls.UI.RadRadioButton>> Note = new List<List<Telerik.WinControls.UI.RadRadioButton>>();
            List<Telerik.WinControls.UI.RadRadioButton> Note1 = new List<Telerik.WinControls.UI.RadRadioButton>();
            List<Telerik.WinControls.UI.RadRadioButton> Note2 = new List<Telerik.WinControls.UI.RadRadioButton>();
            List<Telerik.WinControls.UI.RadRadioButton> Note3 = new List<Telerik.WinControls.UI.RadRadioButton>();
            List<Telerik.WinControls.UI.RadRadioButton> Note4 = new List<Telerik.WinControls.UI.RadRadioButton>();

            Note.Add(Note1); Note.Add(Note2); Note.Add(Note3); Note.Add(Note4);
            Note1.Add(RB_Note_A_Q1); Note1.Add(RB_Note_B_Q1); Note1.Add(RB_Note_C_Q1); Note1.Add(RB_Note_D_Q1);
            Note2.Add(RB_Note_A_Q2); Note2.Add(RB_Note_B_Q2); Note2.Add(RB_Note_C_Q2); Note2.Add(RB_Note_D_Q2);
            Note3.Add(RB_Note_A_Q3); Note3.Add(RB_Note_B_Q3); Note3.Add(RB_Note_C_Q3); Note3.Add(RB_Note_D_Q3);
            Note4.Add(RB_Note_A_Q4); Note4.Add(RB_Note_B_Q4); Note4.Add(RB_Note_C_Q4); Note4.Add(RB_Note_D_Q4);


            ServiceWeb.NoterEleve(notation.calculerScore(Note), radDropDownList8.SelectedIndex, 0);
        }



        private void radScheduler2_Click(object sender, EventArgs e)
        {
            List<Telerik.WinControls.UI.RadScheduler> ListCalendriers = new List<RadScheduler>();
            ListCalendriers.Add(schedulerDispoFormateur);
            ListCalendriers.Add(schedulerDispoLieux);
            ListCalendriers.Add(schedulerDispoVehicules);
            RemplirSchedulers(ListCalendriers);
            DateTime baseDate = DateTime.Today;

            AppointmentBackground[] backgrounds = new AppointmentBackground[] { AppointmentBackground.Business, AppointmentBackground.MustAttend, AppointmentBackground.Personal };


            this.schedulerDispoFormateur.Appointments.BeginUpdate();
            Appointment appointment;
            appointment = new Appointment(baseDate.AddHours(11.0), baseDate.AddHours(12.0), "Appointment Subject");
            this.schedulerDispoFormateur.Appointments.Add(appointment);
            this.schedulerDispoFormateur.Appointments.EndUpdate();

        }

        private void CRM_Load(object sender, EventArgs e)
        {
            // TODO: cette ligne de code charge les données dans la table 'schedulerBDDDataSet1.Resources'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
            this.resourcesTableAdapter.Fill(this.schedulerBDDDataSet1.Resources);
            // TODO: cette ligne de code charge les données dans la table 'schedulerBDDDataSet1.Appointments'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
            this.appointmentsTableAdapter.Fill(this.schedulerBDDDataSet1.Appointments);
            GestionAgence.Visible = false;
            GestionMoniteur.Visible = false;
            GestionAdministration.Visible = false;

        }

        void RemplirSchedulers(List<Telerik.WinControls.UI.RadScheduler> ListCalendriers)
        {

            DataSet dataSet = new DataSet();
            //schedulerBDDDataSet1. dataSet




            List<string> SessionsFormations = new List<string>();
            SqlCeConnection conn;
            SqlCeCommand command, com;
            conn = new SqlCeConnection(global::CRM_WF.Properties.Settings.Default.BDDSchedulerConnectionString);
            conn.Open();
            foreach (string s in ServiceWeb.RecupererListeFormationsFormateur())
            {
                string[] split = s.Split(' ');
                string datestart = DateTime.Parse(split[1]).ToShortDateString();
                string timestart = DateTime.Parse(split[2]).ToShortTimeString();
                string datestop = DateTime.Parse(split[5]).ToShortDateString();
                string timestop = DateTime.Parse(split[6]).ToShortTimeString();


                com = new SqlCeCommand("select count(ID) from Appointments", conn);
                int o = (int)com.ExecuteScalar();


                command = new SqlCeCommand("Insert into Appointments (ID,Summary,Start,Description,BackgroundId,[End],TypeAppointment) VALUES (" + o 
                    + ", ' " + split[0] + "', CONVERT(DATETIME,'" + datestart + "'), '" + split[2] + "', 6, CONVERT(DATETIME,'" + datestop + "'), '" + split[4] + "')", conn);
                command = new SqlCeCommand("Insert into Appointments (ID,Summary,Start,Description,BackgroundId,[End],TypeAppointment) VALUES (" + o + ", ' " + split[0] + "', CONVERT(DATETIME,'" + datestart + "'), '" + split[2] + "', 6, CONVERT(DATETIME,'" + datestop + "'), '" + split[4] + "')", conn);

                // Execution*/

                command.ExecuteNonQuery();
            }
            SqlCeCommand comma;
            comma = new SqlCeCommand("SELECT * FROM Appointments", conn);

            SqlCeDataReader reader = comma.ExecuteReader();
        }



        /**************************************************************************************************
        *   Commentaire : Jérémy Chu
        *   Groupe de methodes : Gestion des DropDownList (listes déroulantes)
        **************************************************************************************************/

        #region Partie Agence

        #region Consulter Eleve

        private void ConsulterEleve_ListeEleve_Click(object sender, EventArgs e)
        {
            radDropDownList6.Items.Clear();
            foreach (string item in ServiceWeb.RecupererToutLesEleves())
            {
                radDropDownList6.Items.Add(item);
            }
        }

        private void ConsulterEleve_AfficherInfosEleve_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
        {
            if (radDropDownList6.SelectedIndex > 0)
            {
                string value = radDropDownList6.SelectedItem.Text.ToString();
                string[] split = value.Split(' ');

                List<string> ListeInformations = ServiceWeb.RecupererEleveParPrenomEtNom(split[1], split[0]);
                radLabel35.Text = ListeInformations[0];
                radLabel36.Text = ListeInformations[1];
                radLabel37.Text = ListeInformations[2];
                radLabel38.Text = ListeInformations[3];
                radLabel39.Text = ListeInformations[4];
                radLabel40.Text = ListeInformations[5];
                radLabel41.Text = ListeInformations[6];
                radLabel42.Text = ListeInformations[11];


                if (ListeInformations[7] == "True")
                {
                    radCheckBox2.Checked = true;
                }

                else
                {
                    radCheckBox2.Checked = false;
                }
            }
        }

        private void ConsulterEleve_BoutonRechercher_Click(object sender, EventArgs e)
        {
            List<string> ListeInformations = new List<string>();

            if (!String.IsNullOrEmpty(radTextBox15.Text) && !String.IsNullOrEmpty(radTextBox14.Text))
            {
                ListeInformations = ServiceWeb.RecupererEleveParPrenomEtNom(radTextBox14.Text, radTextBox15.Text);
            }
            else if (!String.IsNullOrEmpty(radTextBox15.Text) && String.IsNullOrEmpty(radTextBox14.Text))
            {
                ListeInformations = ServiceWeb.RecupererEleveParNom(radTextBox15.Text);

            }
            else if (!String.IsNullOrEmpty(radTextBox14.Text) && String.IsNullOrEmpty(radTextBox15.Text))
            {
                ListeInformations = ServiceWeb.RecupererEleveParPrenom(radTextBox14.Text);
            }
            else if (String.IsNullOrEmpty(radTextBox15.Text) && String.IsNullOrEmpty(radTextBox14.Text))
            {
                return;
            }

            radLabel35.Text = ListeInformations[0];
            radLabel36.Text = ListeInformations[1];
            radLabel37.Text = ListeInformations[2];
            radLabel38.Text = ListeInformations[3];
            radLabel39.Text = ListeInformations[4];
            radLabel40.Text = ListeInformations[5];
            radLabel41.Text = ListeInformations[6];

            if (ListeInformations[7] == "True")
            {
                radCheckBox2.Checked = true;
            }

            else
            {
                radCheckBox2.Checked = false;
            }
        }

        #endregion

        #region Ajouter Elève

        private void BoutonAjouterEleve_Click(object sender, EventArgs e)
        {
            ServiceWeb.AjouterEleve(textBox1.Text, textBox2.Text, textBox8.Text, textBox9.Text, textBox3.Text, textBox5.Text, Int32.Parse(textBox4.Text), textBox6.Text, Int32.Parse(textBox7.Text), Int32.Parse(textBox10.Text), radCheckBox3.Checked);
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            textBox4.Text = "";
            textBox5.Text = "";
            textBox6.Text = "";
            textBox7.Text = "";
            textBox8.Text = "";
            textBox9.Text = "";
            textBox10.Text = "";
        }

        #endregion

        #region Modifier Eleve

        private void ModifierEleve_ListeEleve_Click(object sender, EventArgs e)
        {
            radDropDownList2.Items.Clear();
            foreach (string item in ServiceWeb.RecupererToutLesEleves())
            {
                radDropDownList2.Items.Add(item);
            }
        }

        private void ModifierEleve_AfficherInfosEleve_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
        {
            if (radDropDownList2.SelectedIndex > 0)
            {
                string value = radDropDownList2.SelectedItem.Text.ToString();
                string[] split = value.Split(' ');

                List<string> ListeInformations = ServiceWeb.RecupererEleveParPrenomEtNom(split[1], split[0]);
                LabelNom.Text = ListeInformations[0];
                LabelPrenom.Text = ListeInformations[1];
                LabelAdresse.Text = ListeInformations[2];
                LabelCodePostal.Text = ListeInformations[3];
                LabelVille.Text = ListeInformations[4];
                LabelMail.Text = ListeInformations[5];
                LabelTelephone.Text = ListeInformations[6];
                LabelPassword.Text = ListeInformations[10];
                LabelLogin.Text = ListeInformations[9];
                radLabel78.Text = ListeInformations[8];
                radLabel79.Text = ListeInformations[11];

                if (ListeInformations[7] == "True")
                {
                    radCheckBox4.Checked = true;
                }

                else
                {
                    radCheckBox4.Checked = false;
                }
            }
        }

        private void ModifierEleve_BoutonRechercher_Click(object sender, EventArgs e)
        {
            List<string> ListeInformations = new List<string>();

            if (!String.IsNullOrEmpty(radTextBox6.Text) && !String.IsNullOrEmpty(radTextBox5.Text))
            {
                ListeInformations = ServiceWeb.RecupererEleveParPrenomEtNom(radTextBox5.Text, radTextBox6.Text);
            }
            else if (!String.IsNullOrEmpty(radTextBox6.Text) && String.IsNullOrEmpty(radTextBox5.Text))
            {
                ListeInformations = ServiceWeb.RecupererEleveParNom(radTextBox6.Text);

            }
            else if (!String.IsNullOrEmpty(radTextBox5.Text) && String.IsNullOrEmpty(radTextBox6.Text))
            {
                ListeInformations = ServiceWeb.RecupererEleveParPrenom(radTextBox5.Text);
            }
            else if (String.IsNullOrEmpty(radTextBox6.Text) && String.IsNullOrEmpty(radTextBox5.Text))
            {
                return;
            }

            LabelNom.Text = ListeInformations[0];
            LabelPrenom.Text = ListeInformations[1];
            LabelAdresse.Text = ListeInformations[2];
            LabelCodePostal.Text = ListeInformations[3];
            LabelVille.Text = ListeInformations[4];
            LabelMail.Text = ListeInformations[5];
            LabelTelephone.Text = ListeInformations[6];
            LabelPassword.Text = ListeInformations[10];
            LabelLogin.Text = ListeInformations[9];
            radLabel78.Text = ListeInformations[8];

            if (ListeInformations[7] == "True")
            {
                radCheckBox4.Checked = true;
            }

            else
            {
                radCheckBox4.Checked = false;
            }
        }

        private void BoutonModifierEleve_Click(object sender, EventArgs e)
        {

            GestionEleveservice.Eleve eleve = ServiceWeb.RecupererEleveParId(Int32.Parse(radLabel79.Text));

            if (!string.IsNullOrEmpty(textBox20.Text)) eleve.Nom = textBox20.Text;
            if (!string.IsNullOrEmpty(textBox19.Text)) eleve.Prenom = textBox19.Text;
            if (!string.IsNullOrEmpty(textBox18.Text)) eleve.Adresse = textBox18.Text;
            if (!string.IsNullOrEmpty(textBox17.Text)) eleve.CodePostal = Int32.Parse(textBox17.Text);
            if (!string.IsNullOrEmpty(textBox16.Text)) eleve.Ville = textBox16.Text;
            if (!string.IsNullOrEmpty(textBox15.Text)) eleve.Email = textBox15.Text;
            if (!string.IsNullOrEmpty(textBox14.Text)) eleve.Telephone = Int32.Parse(textBox14.Text);
            if (!string.IsNullOrEmpty(textBox13.Text)) eleve.Login = textBox13.Text;
            if (!string.IsNullOrEmpty(textBox12.Text)) eleve.MotDePasse = textBox12.Text;
            if (!string.IsNullOrEmpty(textBox11.Text)) eleve.FormateurID = Int32.Parse(textBox11.Text);
            if (!string.IsNullOrEmpty(radCheckBox4.Text)) eleve.TitulaireCode = radCheckBox4.Checked;

            ServiceWeb.UpdaterEleve(eleve);

            LabelNom.Text = eleve.Nom;
            LabelPrenom.Text = eleve.Prenom;
            LabelAdresse.Text = eleve.Adresse;
            LabelCodePostal.Text = eleve.CodePostal.ToString();
            LabelVille.Text = eleve.Ville;
            LabelMail.Text = eleve.Email;
            LabelTelephone.Text = eleve.Telephone.ToString();
            LabelPassword.Text = eleve.MotDePasse;
            LabelLogin.Text = eleve.Login;
            radLabel78.Text = eleve.FormateurID.ToString();

            if (eleve.TitulaireCode == true)
            {
                radCheckBox4.Checked = true;
            }

            else
            {
                radCheckBox4.Checked = false;
            }


            LabelNom.Text = eleve.Nom;
            LabelPrenom.Text = eleve.Prenom;
            LabelLogin.Text = eleve.Login;
            LabelPassword.Text = eleve.MotDePasse;
            LabelAdresse.Text = eleve.Adresse;
            LabelCodePostal.Text = eleve.CodePostal.ToString();
            LabelVille.Text = eleve.Ville;
            LabelMail.Text = eleve.Email;
            LabelTelephone.Text = eleve.Telephone.ToString();
            radLabel78.Text = eleve.FormateurID.ToString();
            if (eleve.TitulaireCode.ToString() == "True")
            {
                radCheckBox4.Checked = true;
            }

            else
            {
                radCheckBox4.Checked = false;
            }
        }

        #endregion

        #region Inscription Examen

        private void InscriptionExamen_ListeEleve_Click(object sender, EventArgs e)
        {
            radDropDownList5.Items.Clear();
            foreach (string item in ServiceWeb.RecupererToutLesEleves())
            {
                radDropDownList5.Items.Add(item);
            }
        }

        private void InscriptionExamen_AfficherInfosEleve_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
        {
            if (radDropDownList5.SelectedIndex > 0)
            {
                string value = radDropDownList5.SelectedItem.Text.ToString();
                string[] split = value.Split(' ');

                List<string> ListeInformations = ServiceWeb.RecupererEleveParPrenomEtNom(split[1], split[0]);
                LabelInscriptionNom.Text = ListeInformations[0];
                LabelInscriptionPrenom.Text = ListeInformations[1];
                LabelInscriptionAdresse.Text = ListeInformations[2];
                LabelInscriptionCodePostal.Text = ListeInformations[3];
                LabelInscriptionVille.Text = ListeInformations[4];
                LabelInscriptionIdentifiant.Text = ListeInformations[11];
            }
        }

        private void InscriptionExamen_BoutonRechercher_Click(object sender, EventArgs e)
        {
            List<string> ListeInformations = new List<string>();

            if (!String.IsNullOrEmpty(radTextBox18.Text) && !String.IsNullOrEmpty(radTextBox17.Text))
            {
                ListeInformations = ServiceWeb.RecupererEleveParPrenomEtNom(radTextBox17.Text, radTextBox18.Text);
            }
            else if (!String.IsNullOrEmpty(radTextBox18.Text) && String.IsNullOrEmpty(radTextBox17.Text))
            {
                ListeInformations = ServiceWeb.RecupererEleveParNom(radTextBox18.Text);

            }
            else if (!String.IsNullOrEmpty(radTextBox17.Text) && String.IsNullOrEmpty(radTextBox18.Text))
            {
                ListeInformations = ServiceWeb.RecupererEleveParPrenom(radTextBox17.Text);
            }
            else if (String.IsNullOrEmpty(radTextBox18.Text) && String.IsNullOrEmpty(radTextBox17.Text))
            {
                return;
            }

            LabelInscriptionNom.Text = ListeInformations[0];
            LabelInscriptionPrenom.Text = ListeInformations[1];
            LabelInscriptionAdresse.Text = ListeInformations[2];
            LabelInscriptionCodePostal.Text = ListeInformations[3];
            LabelInscriptionVille.Text = ListeInformations[4];
            LabelInscriptionIdentifiant.Text = ListeInformations[11];

        }

        #endregion

        #region Gestion des Scores

        void GestionDesScores_BoutonRechercher_Click(object sender, EventArgs e)
        {
            List<string> ListeInformations = new List<string>();

            if (!String.IsNullOrEmpty(radTextBox20.Text) && !String.IsNullOrEmpty(radTextBox19.Text))
            {
                ListeInformations = ServiceWeb.RecupererEleveParPrenomEtNom(radTextBox19.Text, radTextBox20.Text);
            }
            else if (!String.IsNullOrEmpty(radTextBox20.Text) && String.IsNullOrEmpty(radTextBox19.Text))
            {
                ListeInformations = ServiceWeb.RecupererEleveParNom(radTextBox20.Text);

            }
            else if (!String.IsNullOrEmpty(radTextBox19.Text) && String.IsNullOrEmpty(radTextBox20.Text))
            {
                ListeInformations = ServiceWeb.RecupererEleveParPrenom(radTextBox19.Text);
            }
            else if (String.IsNullOrEmpty(radTextBox20.Text) && String.IsNullOrEmpty(radTextBox19.Text))
            {
                return;
            }

            radLabel116.Text = ListeInformations[0];
            radLabel145.Text = ListeInformations[1];
            radLabel146.Text = ListeInformations[11];
            radLabel147.Text = ListeInformations[8];
        }

        private void GestionScore_ListeEleve_Click(object sender, EventArgs e)
        {
            radDropDownList10.Items.Clear();
            foreach (string item in ServiceWeb.RecupererToutLesEleves())
            {
                radDropDownList10.Items.Add(item);
            }
        }

        private void GestionScore_AfficherInfosEleve_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
        {
            if (radDropDownList10.SelectedIndex > 0)
            {
                string value = radDropDownList10.SelectedItem.Text.ToString();
                string[] split = value.Split(' ');

                List<string> ListeInformations = ServiceWeb.RecupererEleveParPrenomEtNom(split[1], split[0]);

                radLabel116.Text = ListeInformations[0];
                radLabel145.Text = ListeInformations[1];
                radLabel146.Text = ListeInformations[11];
                radLabel147.Text = ListeInformations[8];
            }
        }

        private void ListeDesSessionsDeFormation_Click(object sender, EventArgs e)
        {
            radGroupBox32.Visible = false;

            //vide la liste pour avoir une base vierge
            radDropDownList11.Items.Clear();

            //recuperation de la liste des sessions formations de l'eleve
            List<GestionSessionFormationService.SessionFormation> listSessionFormation = ServiceWeb.RecupererToutesLesSessionsFormationByEleveId(Int32.Parse(radLabel146.Text));

            //Si il ya au moins une Session Formation, on l'affiche
            if (listSessionFormation.Count != 0)
            {
                foreach (GestionSessionFormationService.SessionFormation sessionFormation in listSessionFormation)
                {
                    //formatage de la date de debut de la session formation
                    string dateDebut = sessionFormation.DateDebut.Day + "/" + sessionFormation.DateDebut.Month + "/" + sessionFormation.DateDebut.Year
                        + " - " + sessionFormation.DateDebut.Hour + "h" + sessionFormation.DateDebut.Minute;

                    //formatage de la date de debut de la session formation
                    string dateFin = sessionFormation.DateFin.Day + "/" + sessionFormation.DateFin.Month + "/" + sessionFormation.DateFin.Year
                        + " - " + sessionFormation.DateFin.Hour + "h" + sessionFormation.DateFin.Minute;

                    //remplissage de la liste
                    radDropDownList11.Items.Add("ID : " + sessionFormation.ID.ToString() + " Date de début : " + sessionFormation.DateDebut + " Date de Fin : " + sessionFormation.DateFin);
                }
            }
        }

        private void SelectionSessionFormationDansListeSessionsFormation_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
        {
            if (radDropDownList11.SelectedIndex > 0)
            {
                radGroupBox32.Visible = true;

                string value = radDropDownList11.SelectedItem.Text.ToString();
                string[] split = value.Split(' ');

                string date = split[13] + " " + split[14];

                List<string> listeNotes = ServiceWeb.RecupererNoteParEleveIdEtDay(Int32.Parse(radLabel146.Text), DateTime.Parse(date));

                if (listeNotes.Count != 0)
                {
                    radButton11.Visible = true;
                    radButton8.Visible = false;
                    radLabel151.Text = listeNotes[0];
                }

                else
                {
                    radLabel151.Text = "Pas de note";
                    radButton11.Visible = false;
                    radButton8.Visible = true;
                }
            }
        }

        private void BoutonAfficherListePourNoterSessionFormation_Click(object sender, EventArgs e)
        {
            radDropDownList12.Visible = true;

            for (int i = 0; i < 21; i++)
            {
                radDropDownList12.Items.Add(i.ToString());
            }

            radLabel151.Visible = false;
        }

        private void BoutonAfficherListePourModifierNoteSessionFormation_Click(object sender, EventArgs e)
        {
            radDropDownList13.Visible = true;

            for (int i = 0; i < 21; i++)
            {
                radDropDownList13.Items.Add(i.ToString());
            }

            radLabel151.Visible = false;
        }

        private void AfficherBoutonPourNoterSessionFormation_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
        {

            radButton12.Visible = true;
        }

        private void AfficherBoutonPourModifierNoteSessionFormation_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
        {
            radButton9.Visible = true;
        }

        private void BoutonNoterEleveSessionFormation_Click(object sender, EventArgs e)
        {
            radLabel151.Visible = false;
            string value = radDropDownList11.SelectedItem.Text.ToString();
            string[] split = value.Split(' ');
            int note = Int32.Parse(radDropDownList12.SelectedItem.Text);

            string date = split[13] + " " + split[14];

            ServiceWeb.AjouterNote(DateTime.Parse(date), note, Int32.Parse(radLabel146.Text), Int32.Parse(radLabel147.Text));

            List<string> listeNotes = ServiceWeb.RecupererNoteParEleveIdEtDay(Int32.Parse(radLabel146.Text), DateTime.Parse(date));

            radLabel151.Text = listeNotes[0];
            radLabel151.Visible = true;
            radDropDownList12.Visible = false;
            radButton12.Visible = false;
        }

        private void BoutonUpdateNoteSessionFormation_Click(object sender, EventArgs e)
        {
            radLabel151.Visible = false;
            string value = radDropDownList11.SelectedItem.Text.ToString();
            string[] split = value.Split(' ');
            int note = Int32.Parse(radDropDownList13.SelectedItem.Text);

            string date = split[13] + " " + split[14];

            List<string> listeNotes = ServiceWeb.RecupererNoteParEleveIdEtDay(Int32.Parse(radLabel146.Text), DateTime.Parse(date));

            listeNotes[0] = note.ToString();

            GestionNotesService.Notes nouvelleNote = ServiceWeb.RecupererNoteParId(Int32.Parse(listeNotes[1]));

            nouvelleNote.Note = note;

            ServiceWeb.UpdaterNote(nouvelleNote);

            radLabel151.Text = listeNotes[0];
            radLabel151.Visible = true;
            radDropDownList13.Visible = false;
            radButton9.Visible = false;
        }

        #endregion

        #endregion

        private void RB_ConsulterSession_Click(object sender, EventArgs e)
        {
            List<string> listSession = ServiceWeb.RecupererToutesLesSessionsFormationParDate(radDateTimePicker6.Value);
            foreach (string session in listSession)
            {
                RLC_ConsulterSessionFormation.Items.Add(session);
            }
            listSession = ServiceWeb.RecupererToutesLesSessionsConduiteParDate(radDateTimePicker6.Value);
            foreach (string session in listSession)
            {
                RLC_ConsulterSessionConduite.Items.Add(session);
            }
        }

        private void RB_AjouterSession_Click(object sender, EventArgs e)
        {
            try
            {
                if (!string.IsNullOrEmpty(RDDL_AjoutSessionEleveList.SelectedItem.Text)
                    && !string.IsNullOrEmpty(RDDL_AjoutSessionFormateurList.SelectedItem.Text)
                    && !string.IsNullOrEmpty(RDDL_AjoutSessionVehiculeList.SelectedItem.Text)
                    && !string.IsNullOrEmpty(RDDL_TypeSessionAjout.SelectedItem.Text)
                    && !string.IsNullOrEmpty(RDDL_AjoutSessionTypeSessionList.SelectedItem.Text))
                {
                    ServiceWeb.AjouterSession(radDateTimePicker7.Value.ToString(), radDateTimePicker7.Value.ToString(), "1", RDDL_AjoutSessionTypeSessionList.SelectedItem.Text, RDDL_AjoutSessionFormateurList.SelectedItem.Text, RDDL_AjoutSessionEleveList.SelectedItem.Text, RDDL_AjoutSessionVehiculeList.SelectedItem.Text, RDDL_TypeSessionAjout.SelectedItem.Text);
                }
            }
            catch
            {
                MessageBox.Show("Veuillez saisir tout les champs");
            }

        }

        private void RDDL_TypeSessionAjout_Click(object sender, EventArgs e)
        {
            RDDL_TypeSessionAjout.Items.Add("Formation");
            RDDL_TypeSessionAjout.Items.Add("Conduite");
        }

        private void RDDL_AjoutSessionFormateurList_Click(object sender, EventArgs e)
        {
            foreach (string formateur in ServiceWeb.RecupererListeFormationsFormateur())
            {
                string[] split = formateur.Split(' ');
                RDDL_AjoutSessionFormateurList.Items.Add(split[3] + " " + split[4]);
            }
        }

        private void RDDL_AjoutSessionEleveList_Click(object sender, EventArgs e)
        {
            foreach (string eleve in ServiceWeb.RecupererToutLesEleves())
            {
                string[] split = eleve.Split(' ');
                RDDL_AjoutSessionEleveList.Items.Add(split[0] + " " + split[1]);
            }
        }

        private void RDDL_AjoutSessionVehiculeList_Click(object sender, EventArgs e)
        {

            foreach (string vehicule in ServiceWeb.RecupererToutLesVehicules())
            {
                string[] split = vehicule.Split(' ');
                RDDL_AjoutSessionVehiculeList.Items.Add(split[0] + " " + split[1]);
            }
        }

        private void RDDL_ListeSessionParType_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
        {
            string[] split = RDDL_ListeSessionParType.SelectedItem.Text.Split(' ');
            List<string> session = ServiceWeb.RecupererSessionConduiteParId(Int32.Parse(split[0]));
            DateTime date = DateTime.Parse(session[2]);
            RDTP_ModifierSession.Value = date;
            if (session[6] == "1") RDDL_ModifierTypeSession.SelectedIndex = 0;
            if (session[6] == "2") RDDL_ModifierTypeSession.SelectedIndex = 1;

            RDDL_ModifSessionListFormateur_Click(null, null);
            RDDL_ModifSessionListEleve_Click(null, null);
            RDDL_ModifSessionListVehicule_Click(null, null);

            if (session[6] == "1") RDDL_ModifSessionListTypeSession.SelectedIndex = 0;
            if (session[6] == "2") RDDL_ModifSessionListTypeSession.SelectedIndex = 2;

            RDDL_ModifSessionListFormateur.SelectedIndex = Int32.Parse(session[8]);
            RDDL_ModifSessionListEleve.SelectedIndex = Int32.Parse(session[14]);
            RDDL_ModifSessionListVehicule.SelectedIndex = Int32.Parse(session[12]);
            split = session[16].Split(':');
            RDDL_HeureDebutModifSession.SelectedItem.Value = split[0];
            RDDL_MinDebutModifSession.SelectedItem.Value = split[1];
            split = session[18].Split(':');
            RDDL_HeureFinModifSession.SelectedItem.Value = split[0];
            RDDL_MinFinModifSession.SelectedItem.Value = split[1];

        }

        private void RDDL_ListeSessionParType_Click(object sender, EventArgs e)
        {
            switch (RDDL_ListeTypeSession.SelectedItem.Text)
            {

                case "Formation":
                    foreach (string session in ServiceWeb.RecupererToutesLesSessionsFormation())
                    {
                        string[] split = session.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                        RDDL_ListeSessionParType.Items.Add(split[0] + " " + split[2] + " " + split[6] + " " + split[8]);
                        if (RDDL_ListeSessionParType.Width < RDDL_ListeSessionParType.Items[RDDL_ListeSessionParType.Items.Count - 1].ToString().Length * 7)
                        {
                            RDDL_ListeSessionParType.Width = RDDL_ListeSessionParType.Items[RDDL_ListeSessionParType.Items.Count - 1].ToString().Length * 7;

                        }
                    }

                    break;


                case "Conduite":
                    foreach (string session in ServiceWeb.RecupererToutesLesSessionsConduite())
                    {
                        string[] split = session.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                        RDDL_ListeSessionParType.Items.Add(split[0] + " " + split[2] + " " + split[6] + " " + split[8]);
                        if (RDDL_ListeSessionParType.Width < RDDL_ListeSessionParType.Items[RDDL_ListeSessionParType.Items.Count - 1].ToString().Length * 7)
                        {
                            RDDL_ListeSessionParType.Width = RDDL_ListeSessionParType.Items[RDDL_ListeSessionParType.Items.Count - 1].ToString().Length * 7;
                        }
                    }
                    break;
            }

        }

        private void RDDL_ModifSessionListEleve_Click(object sender, EventArgs e)
        {
            foreach (string eleve in ServiceWeb.RecupererToutLesEleves())
            {
                string[] split = eleve.Split(' ');
                RDDL_ModifSessionListEleve.Items.Add(split[0] + " " + split[1]);
            }
        }

        private void RDDL_ModifSessionListFormateur_Click(object sender, EventArgs e)
        {
            foreach (string formateur in ServiceWeb.RecupererListeFormationsFormateur())
            {
                string[] split = formateur.Split(' ');
                RDDL_ModifSessionListFormateur.Items.Add(split[3] + " " + split[4]);
            }
        }

        private void RDDL_ModifSessionListVehicule_Click(object sender, EventArgs e)
        {
            foreach (string vehicule in ServiceWeb.RecupererToutLesVehicules())
            {
                string[] split = vehicule.Split(' ');
                RDDL_ModifSessionListVehicule.Items.Add(split[0] + " " + split[1]);
            }
        }

        private void RB_ModifierSession_Click(object sender, EventArgs e)
        {
            try
            {
                if (!string.IsNullOrEmpty(RDDL_ModifSessionListEleve.SelectedItem.Text)
                    && !string.IsNullOrEmpty(RDDL_ModifSessionListFormateur.SelectedItem.Text)
                    && !string.IsNullOrEmpty(RDDL_ModifSessionListVehicule.SelectedItem.Text)
                    && !string.IsNullOrEmpty(RDDL_ModifierTypeSession.SelectedItem.Text)
                    && !string.IsNullOrEmpty(RDDL_ModifSessionListTypeSession.SelectedItem.Text))
                {
                    ServiceWeb.ModifierSession(RDTP_ModifierSession.Value.ToString(), RDTP_ModifierSession.Value.ToString(), "1", RDDL_ModifSessionListTypeSession.SelectedItem.Text,
                        RDDL_ModifSessionListFormateur.SelectedItem.Text, RDDL_ModifSessionListEleve.SelectedItem.Text, RDDL_ModifSessionListVehicule.SelectedItem.Text, RDDL_ModifierTypeSession.SelectedItem.Text);

                }
            }
            catch
            {
            }
        }

        private void radDropDownList9_Click(object sender, EventArgs e)
        {
            foreach (string formateur in ServiceWeb.RecupererToutLesFormateurs())
            {
                string[] split = formateur.Split(' ');
                radDropDownList9.Items.Add(split[0] + " " + split[1] + " " + split[2]);
            }
        }

        private void radDropDownList7_Click(object sender, EventArgs e)
        {
            foreach (string formateur in ServiceWeb.RecupererToutLesFormateurs())
            {
                string[] split = formateur.Split(' ');
                radDropDownList7.Items.Add(split[0] + " " + split[1] + " " + split[2]);
            }
        }

        private void radDropDownList29_Click(object sender, EventArgs e)
        {
            foreach (string formateur in ServiceWeb.RecupererToutLesFormateurs())
            {
                radDropDownList29.Items.Add(formateur);
            }
        }

        private void radDropDownList29_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
        {
            if (radDropDownList29.SelectedIndex > 0)
            {
                List<string> ListeInformations = ServiceWeb.RecupererToutLesFormateurs();
                string[] split = ListeInformations[radDropDownList29.SelectedIndex].Split(' ');
                RL_NumCompte.Text = split[0];
                RL_NomFormateur.Text = split[1];
                RL_PrenomFormateur.Text = split[2];
                RL_AdresseFormateur.Text = split[3];
                RL_CodePostalFormateur.Text = split[4];
                RL_VilleFormateur.Text = split[5];
                RL_EmailFormateur.Text = split[6];
                RL_TelephoneFormateur.Text = split[7];

            }
        }

        private void radDropDownList7_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
        {
            if (radDropDownList7.SelectedIndex > 0 && radDropDownList7.SelectedIndex < radDropDownList7.Items.Count)
            {
                List<string> ListeInformations = ServiceWeb.RecupererToutLesFormateurs();
                string[] split = ListeInformations[radDropDownList7.SelectedIndex].Split(' ');
                RTB_ModifNumCompte.Text = split[0];
                RTB_ModifNom.Text = split[1];
                RTB_ModifPrenom.Text = split[2];
                RTB_ModifAdresse.Text = split[3];
                RTB_ModifCodePostal.Text = split[4];
                RTB_ModifVille.Text = split[5];
                RTB_ModifEmail.Text = split[6];
                RTB_ModifTelephone.Text = split[7];

            }
        }

        private void RB_AjouterFormateur_Click(object sender, EventArgs e)
        {
            ServiceWeb.ModifierFormateur(RTB_ModifNumCompte.Text, RTB_ModifNom.Text, RTB_ModifPrenom.Text, RTB_ModifAdresse.Text, RTB_ModifCodePostal.Text, RTB_ModifVille.Text, RTB_ModifEmail.Text, RTB_ModifTelephone.Text);
            MessageBox.Show("Modif Effectuée");
        }

        private void RDDL_HeureDebutAjoutSession_Click(object sender, EventArgs e)
        {
            RDDL_HeureDebutAjoutSession.Items.Clear();
            

            for (int i = 07; i < 20; i++)
            {
                RDDL_HeureDebutAjoutSession.Items.Add(i.ToString());
            }


        }

        private void RDDL_MinDebutAjoutSession_Click(object sender, EventArgs e)
        {
            RDDL_MinDebutAjoutSession.Items.Clear();

            RDDL_MinDebutAjoutSession.Items.Add("00");
            RDDL_MinDebutAjoutSession.Items.Add("15");
            RDDL_MinDebutAjoutSession.Items.Add("30");
            RDDL_MinDebutAjoutSession.Items.Add("45");

           
        }

        private void RDDL_MinFinAjoutSession_Click(object sender, EventArgs e)
        {
            RDDL_MinFinAjoutSession.Items.Clear();

            RDDL_MinFinAjoutSession.Items.Add("00");
            RDDL_MinFinAjoutSession.Items.Add("15");
            RDDL_MinFinAjoutSession.Items.Add("30");
            RDDL_MinFinAjoutSession.Items.Add("45");
        }

        private void RDDL_HeureFinAjoutSession_Click(object sender, EventArgs e)
        {
            RDDL_HeureFinAjoutSession.Items.Clear();
            for (int i = 07; i < 20; i++)
            {
                RDDL_HeureFinAjoutSession.Items.Add(i.ToString());
            }
        }
    }
    }

